/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package xmlaufgabe7;

import java.util.ArrayList;

/**
 * Datenklasse zur Repraesentation einer Uebung und aller zugehoerigen Informationen
 * (Aufgabenname, Ressourcennamen, URLs).
 * 
 * 
 * @author s0527676
 */
public class UebungData {
    /**
     * Nummer der Uebung
     */
    private int number;
    
    /**
     * URL der Aufgabenbeschreibung
     */
    private String aufgabeURL;
    
    /**
     * Name der Aufgabenbeschreibung
     */
    private String aufgabeLabel;
    
    /**
     * Liste der Ressourcennamen
     */
    private ArrayList<String> resourceNames;
    
    /**
     * Liste der RessourcenURLs
     */
    private ArrayList<String> resourceURLs;
    
    /**
     * Liste der RessourcenDateinamen
     */
    private ArrayList<String> fileNames;

    /**
     * Initialisiert alle Felder.
     */
    public UebungData() {
        resourceNames = new ArrayList<String>();
        resourceURLs = new ArrayList<String>();
        fileNames = new ArrayList<String>();
    }
    
    /**
     * Gibt die Aufgabennummer zurueck.
     * @return the number
     */
    public int getNumber() {
        return number;
    }

    /**
     * Setzt die Aufgabennummer.
     * @param number the number to set
     */
    public void setNumber(int number) {
        this.number = number;
    }

    /**
     * Gibt die AufgabenURL zurueck.
     * @return the aufgabeURL
     */
    public String getAufgabeURL() {
        return aufgabeURL;
    }

    /**
     * Setzt die AufgabenURL.
     * @param aufgabeURL the aufgabeURL to set
     */
    public void setAufgabeURL(String aufgabeURL) {
        this.aufgabeURL = aufgabeURL;
    }

    /**
     * Gibt den Ressourcennamen an Hand des Index zurueck.
     * 
     * @param index Index
     * @return Ressourcenname
     */
    public String getResourceNameByIndex(int index) {
        return resourceNames.get(index);
    }
    
    /**
     * Gibt die Anzahl der Ressourcennamen zurueck.
     * @return Anzahl der Ressourcennamen
     */
    public int getResourceNameCount() {
        return resourceNames.size();
    }

    /**
     * Fuegt der Liste einen Ressourcennamen hinzu.
     * @param resourceName the resourceName to set
     */
    public void addResourceName(String resourceName) {
        resourceNames.add(resourceName);
    }

    /**
     * Gibt die RessourcenURL an Hand des Index zurueck.
     * 
     * @param index Index
     * @return the RessourcenURL
     */
    public String getResourceURLByIndex(int index) {
        return resourceURLs.get(index);
    }

    /**
     * Fuegt der Liste eine RessourcenURL hinzu.
     * 
     * @param resourceURL the ressourceURL to set
     */
    public void addResourceURLs(String resourceURL) {
        resourceURLs.add(resourceURL);
    }

    /**
     * Gibt den Ressourcendateinamen an Hand des Index zurueck.
     * 
     * @param index Index
     * @return the fileNames
     */
    public String getFileNameByIndex(int index) {
        return fileNames.get(index);
    }

    /**
     * Fuegt der Liste einen Ressourcendateinamen hinzu.
     * 
     * @param fileName the fileName to set
     */
    public void addFileNames(String fileName) {
        fileNames.add(fileName);
    }

    /**
     * Gibt das Aufgabenlabel zurueck.
     * 
     * @return the aufgabeLabel
     */
    public String getAufgabeLabel() {
        return aufgabeLabel;
    }

    /**
     * Setzt das Aufgabenlabel.
     * 
     * @param aufgabeLabel the aufgabeLabel to set
     */
    public void setAufgabeLabel(String aufgabeLabel) {
        this.aufgabeLabel = aufgabeLabel;
    }
    
    
}
